/**
 * 
 */
package cn.nzp.core.openapi.client.dto.files;

import java.io.InputStream;

import javax.validation.constraints.NotNull;
import javax.ws.rs.FormParam;

import org.hibernate.validator.constraints.NotBlank;
import org.jboss.resteasy.annotations.providers.multipart.PartType;

/**
 * @author xiejindun
 * 
 * header sample
{
	Content-Type=[image/png], 
	Content-Disposition=[form-data; name="file"; filename="filename.extension"]
}
  用此方法，无法获取 filename 值。
 */
public class MyImageMultipartForm {
	
	@NotBlank(message="token不能为空")
	@FormParam("token") 
	private String token;		// 登录获取的token

	@NotBlank(message="bizType不能为空")
	@FormParam("bizType") 
	private String bizType;		// 业务类型：avatar(个人头像), notice(通知公告), homework(家庭作业), exam(考试成绩)
	
	@NotBlank(message="fileTitle(包括后缀名的图片标题)不能为空")
	@FormParam("fileTitle") 
	private String fileTitle;   // 包括后缀名的图片标题,不能为空，如Bule.png
	
	@NotNull(message="文件流不能为空")
	@FormParam("attachment")
	@PartType("image/png")
	private InputStream attachment;  // 图片二进制文件流,不能为空,允许png、jpg、gif图片格式,3M以内。
	
	@NotBlank(message="clientType不能为空")
	@FormParam("clientType")
	private String clientType; 	// 图片上传的来源，pc(电脑端web), andriod(Andriod手机端), ios(iOS手机端)。注意：限制大小。

	public String getToken() {
		return token;
	}

	public void setToken(String token) {
		this.token = token;
	}

	public String getBizType() {
		return bizType;
	}

	public void setBizType(String bizType) {
		this.bizType = bizType;
	}

	public InputStream getAttachment() {
		return attachment;
	}

	public void setAttachment(InputStream attachment) {
		this.attachment = attachment;
	}

	public String getFileTitle() {
		return fileTitle;
	}

	public void setFileTitle(String fileTitle) {
		this.fileTitle = fileTitle;
	}

	public String getClientType() {
		return clientType;
	}

	public void setClientType(String clientType) {
		this.clientType = clientType;
	}

}
